

#ifndef _DES_H
#define _DES_H

/**
 * @file Des.h
 * @brief Contient la structure dé et ses fonctions
 * @details liste des fonctions pour le module Des
 * @version 1.0
 * @date 2013/05/16
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <assert.h>
#include <time.h>
#include <malloc.h>

/**
 * @struct Des structure des
 * @brief Structure Des
 * @details	la structure contient: un entier pour la valeur du dès
 * @param val le numero obtenus par le dès
*/
typedef struct
{
	int val;
} Des;

/**
 * 
 * @brief desInit initialise val.
 * @param [in-out] *des le Des a initialiser.
 * @return none
*/
void desInit(Des *);
/**
 * @brief desLibere met la valeur de val a 0.
 * @param [in-out] *des le Des a liberer.
 * @return none
*/
void desLibere(Des *);
/**
 * @brief lancerDes affecte aleatoire a val une valeur entre 1 et 6 ( 1<=val<=6 ).
 * @param [in-out] *des le Des a lancer.
 * @return none
*/
int lancerDes(Des *);
/**
 * @brief getDes accesseur pour acceder a val du Des.
 * @param [in-out] *des le Des concerné.
 * @return des->val la valeur obtenue aleatoirement après avoir lancer le Des.
*/
int getDes(const Des*);
/**
 * @brief desTestRegression permet de tester les fonctions du module Des.
*/
void desTestRegression();

#endif
